Calidad de Café

Es una prueba de analisis de los datos obtenidos por el laboratorio y datos sensoriales.

Franklin Santos https://franklinsantos.com (Instituto Nacional de Innovación Agropecuaria y forestal)
2022-11-13

INTRODUCCIÓN

MATERIALES Y MÉTODOS

Los datos corresponden al análisis de calidad y datos sensoriales

RESULTADOS Y DISCUSIÓN

Análisis química de café

data_cofqual %>%
  dimnames()
[[1]]
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10"

[[2]]
[1] "Variedad"          "Proteina"          "Sacarosa"         
[4] "Acido_Clorogenico" "Grasas"            "Cafeina"          

Star Coffe Quality Plot

coffee_quality_1 = coffee_quality%>%
  select(-ID)%>%
  column_to_rownames(var = "Variedad")
stars(coffee_quality_1[, 1:5], key.loc = c(10, 2.1),
  draw.segments = TRUE, col.segments = hcl.colors(9, "Set 2"))

Análisis sensorial de café

Star Coffe Sensorial Plot

data_Sensory_1 = data_sensory%>%
  column_to_rownames(var = "Variedad")

stars(data_Sensory_1[, 1:5], key.loc = c(10, 2.1),
  draw.segments = TRUE, col.segments = hcl.colors(9, "Set 2"))

Análisis de componentes principales

#join data 
data_pca = left_join(data_sensory, data_cofqual, by = "Variedad") %>%
  #convertir la primera columna en nombre de filas para pca
  column_to_rownames(var = "Variedad") %>%
  select(-Uniformidad, -Taza_Limpia)
str(data_pca)
'data.frame':   10 obs. of  12 variables:
 $ Sabor            : num  8 7.75 8 7.75 8 8 8 7.75 7.75 8
 $ Retrogusto       : num  7.5 7.5 7.75 7.75 8 7.75 7.75 7.75 7.5 8
 $ Acidez           : num  7.75 8 7.75 7.75 7.75 8 8 7.75 8 7.75
 $ Cuerpo           : num  8 7.75 7.75 7.5 7.75 7.75 8 7.75 7.75 7.75
 $ Balance          : num  7.75 7.75 8 7.5 7.75 7.75 8 7.75 7.75 7.75
 $ Dulzura          : num  8 7.75 8 8 8 8.5 8.5 8 8 8
 $ General          : num  10 8 8 8 10 10 10 10 10 10
 $ Proteina         : num  13.8 12.9 13 13.9 12.6 ...
 $ Sacarosa         : num  4.02 4.07 4.35 4.74 4.89 4.15 4.1 4.22 4.4 4.21
 $ Acido_Clorogenico: num  328 220 223 324 281 ...
 $ Grasas           : num  2.2 2.22 1.55 2.81 2.02 1.27 2.48 2.23 2.45 2.31
 $ Cafeina          : num  334 280 328 339 284 ...
pca_data_active = data_pca[, 1:12]
res.pca <- PCA(pca_data_active, scale.unit=TRUE, ncp=6, graph = FALSE)
plot(res.pca, label = "none")

# Extraer valores propios/varianzas
get_eig(res.pca)
      eigenvalue variance.percent cumulative.variance.percent
Dim.1  4.0257149       33.5476243                    33.54762
Dim.2  2.3933109       19.9442574                    53.49188
Dim.3  1.5636474       13.0303948                    66.52228
Dim.4  1.4315627       11.9296888                    78.45197
Dim.5  1.1656073        9.7133944                    88.16536
Dim.6  0.5434554        4.5287953                    92.69415
Dim.7  0.4549817        3.7915144                    96.48567
Dim.8  0.3027852        2.5232096                    99.00888
Dim.9  0.1189345        0.9911211                   100.00000
# Visualizar valores propios/variaciones
fviz_screeplot(res.pca, addlabels = TRUE, ylim = c(0, 50))

# Control variable colors using their contributions
fviz_pca_var(res.pca, col.var="contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE # Avoid text overlapping
             )

# Contributions of variables to PC1
fviz_contrib(res.pca, choice = "var", axes = 1, top = 10)
# Contributions of variables to PC2
fviz_contrib(res.pca, choice = "var", axes = 2, top = 10)

# Biplot of individuals and variables
fviz_pca_biplot(res.pca, repel = TRUE)

Only coffee sensory

coffee_sensory_1 = coffee_sensory%>%
  na.omit() %>%
  select(Variedad, where(is.numeric), -Catador, -ID)%>%
  group_by(Variedad) %>%
  summarise(across(2:10, .fns = mean)) %>%
  ungroup()%>%
  column_to_rownames(var = "Variedad")
pca_data_active1 = coffee_sensory_1[, 1:9]
res.pca <- PCA(pca_data_active1, scale.unit=TRUE, ncp=9, graph = FALSE)
# Extraer valores propios/varianzas
get_eig(res.pca)
       eigenvalue variance.percent cumulative.variance.percent
Dim.1 3.159502971       35.1055886                    35.10559
Dim.2 2.150633122       23.8959236                    59.00151
Dim.3 1.117777274       12.4197475                    71.42126
Dim.4 1.040622759       11.5624751                    82.98373
Dim.5 0.802317374        8.9146375                    91.89837
Dim.6 0.569135631        6.3237292                    98.22210
Dim.7 0.108022421        1.2002491                    99.42235
Dim.8 0.042227316        0.4691924                    99.89154
Dim.9 0.009761131        0.1084570                   100.00000
# Visualizar valores propios/variaciones
fviz_screeplot(res.pca, addlabels = TRUE, ylim = c(0, 50))

# Control variable colors using their contributions
fviz_pca_var(res.pca, col.var="contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE # Avoid text overlapping
             )

# Contributions of variables to PC1
fviz_contrib(res.pca, choice = "var", axes = 1, top = 10)
# Contributions of variables to PC2
fviz_contrib(res.pca, choice = "var", axes = 2, top = 10)

# Biplot of individuals and variables
fviz_pca_biplot(res.pca, repel = TRUE)

CONCLUSIÓN

REFERENCIAS BIBLIOGRÁFICAS